#include <iostream>
#include "Lista.h"


using namespace std;

int main() {
Lista<int> lis1;
cout << "Se creó una lista vacía que por defecto es nula" << endl << endl << "lis1:" << endl << endl;
lis1.imprimir2();
cout << endl << endl << "Se agregan los siguientes valores (1, 2) (14, 4) (2,8) (9, 10)" << endl << endl;
lis1.insertarNodoIndice(1, 2);
lis1.insertarNodoIndice(14, 4);
lis1.insertarNodoIndice(2, 8);
lis1.insertarNodoIndice(9, 10);
cout << "lis1:";
lis1.imprimir2();
cout << endl << endl;
cout << "Prueba moficarNodoIndice del ultimo y el primero (1, 3) (14,5)" << endl << endl;
lis1.modificarNodoIndice(1, 3);
lis1.modificarNodoIndice(14, 5);
cout << "lis1:";
lis1.imprimir2();
cout << endl << endl;
cout << "Crea una segunda lista a partir de la primera" << endl << endl;
Lista<int> lis2 (lis1);
cout << "lis2:";
lis2.imprimir2();
cout << endl << endl;
cout << "Borra el primer elemento de la lis1" << endl << endl;
lis1.borrarNodoIndice(1);
cout << "lis1:";
lis1.imprimir2();
cout << endl << endl;
cout << "Se verifica que no cambió lis2" << endl << endl;
cout << "lis2:";
lis2.imprimir2();
cout << endl << endl;
cout << "Borra el ultimo elemento de la lis2" << endl << endl;
lis2.borrarNodoIndice(14);
cout << "lis2:";
lis2.imprimir2();
cout << endl << endl;
cout << "Borra el elemento del medio de lis2" << endl << endl;
lis2.borrarNodoIndice(2);
cout << "lis2:";
lis2.imprimir2();
cout << endl << endl;
cout << "Borra los restantes elementos de lis2" << endl << endl;
lis2.borrarNodoIndice(1);
lis2.borrarNodoIndice(9);
cout << "lis2:";
lis2.imprimir2();
cout << endl << endl;
cout << "Prueba dameValor 9 de lis1" << endl << endl;
cout << "Valor 9 de lis1 : " << lis1.dameValor(9);
cout << endl << endl;
cout << endl << endl;

}
